home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-08-12 | 31.6 KB | 1,675 lines |
- ;************************************************************
- ;*** THIS INTRO WAS CODED BY POD WITH HELP FROM FANGS ***
- ;***** IF YOU WANT TO SWAPP HINTS AND TIPS WITH ME THEN *****
- ;******* PHONE POD ON (0742) 554063 OR WRITE TO ME AT *******
- ;*********69 WOODSEATS RD WOODSEATS SHEFFIELD S8 OPH*********
- ;************************************************************
- ;* EQUALIZER AND DEBUGGING BY SHAGRATT OF LSD! *
- ;* THE WIGGLY LINES ON EXECUTING IS THE ROUTINE THAT *
- ;* SEARCHES THE MODULE FOR THE HIGHEST AND THE LOWEST *
- ;* NOTE AND THEN ALL THE EQUALISERS ARE USED SO IT LOOKS *
- ;* GOOD WITH (ALMOST!) ANY MODULE! *
- ;* ITS MARKED IN THE CODE, AND THE WIGGLY LINES CAN *
- ;* BE TURNED OFF, BUT IT LOOKS OK WHEN PACKED!!!!!! *
- ;************************************************************
- ;* IF YOUR EVER SHORT OF MUSIC FEEL FREE TO RIP ANY LSD *
- ;* STUFF, NO NEED TO ASK, JUST CREDIT US!!! *
- ;************************************************************
- ;* ANY MORE PROBLEMS GIVE ME A RING, HOPE YOU LIKE THIS *
- ;* AND SEND PARASITE A COPY SOON AS IT IS RELEASED FOR ONE *
- ;* OF HIS COMPACTS, GOTTA GO NOW, SEE YOU LATER. SHAGRATT *
- ;************************************************************
-
- SECTION POD_OF_SLIPSTREAM_,CODE_C
- OPT C-
-
- ;incdir df0:,df2:
-
- bsr maxmin
-
- move.l #myequalmem,d0
- swap d0
- move.w d0,bpequal+2
- swap d0
- move.w d0,bpequal+6
-
- move.l #grumpy,getto
- move.l #Screen,Store
- Move.w Store,Plne+2
- move.w store,plne1+2
- Move.w Store+2,Plne+6
- move.w store+2,plne1+6
- MOVE.L #DIFFERENCE,STORE
- MOVE.W STORE,SCRL+2
- MOVE.W STORE+2,SCRL+6
- move.w #56,d1
- loop: bsr Colour
- Bsr Cycle
- dbf d1,loop
- move.w #90,d1
- long bsr waveplace2
- bsr wavecycle
- dbf d1,long
- move.l #logo,store
- lea bitmap,a0
- move.w #4,d0
- planes: move.w store,2(a0)
- move.w store+2,6(a0)
- add.w #8,a0
- add.l #4640,store
- dbf d0,planes
- lea logo+23200,a0
- lea cols+2,a1
- move.w #31,d0
- place: move.w (a0)+,(a1)
- add.w #4,a1
- dbf d0,place
- MOVE.L 4,A6
- LEA.L GFxNAME,A1
- CLR.L D0
- JSR -552(A6)
- MOVE.L D0,GFXLOC
- MOVE.L GFXLOC,A6
- MOVE.L 50(A6),OLDCOP
- MOVE.L #COPPER,50(A6)
- MOVE.L #$FFFF,D0
- COPDEL: DBF D0,COPDEL
- MOVE.W #%1000011111100000,$DFF096
- MOVE.W #$C000,$DFF09A
- MOVE.L #$FFFFFFFF,$DFF044
- MOVE.W #00,$DFF042
- MOVE.W #%0000100111110000,$DFF040
- MOVE.W #$4000,$DFF09A
-
- JSR STARS_ON
- START: CMP.B #$05,$DFF006
- BNE.S START
- jsr bounce
- bsr Colour
- bsr Cycle
- bsr waveplace2
- bsr wavecycle
- jsr scroll
- jsr SCROLLY
- jsr mt_music
- jsr show_equals
-
- btst #6,$bfe001
- beq reset
- btst #7,$bfe001
- beq reset
- btst #10,$dff016
- beq reset
- BRA.s START
-
- RESET: MOVE.W #$C000,$DFF09A
- MOVE.W #$0F,$DFF096
- jsr mt_end
- MOVE.L GFXLOC,A6
- MOVE.L OLDCOP,50(A6)
- MOVE.L 4,A6
- MOVE.L GFXLOC,A1
- JSR -414(A6)
- CLR.L D0
- EX: RTS
-
- maxmin:
- jsr mt_end
- jsr mt_init
-
- move.l #-1,calc
- move.l #0,finished
- move.w #$f0f,finding
- move.l #0,maxequal
- move.l #99999,minequal
-
- find_maxmin:
- jsr mt_music
- cmp.l #-1,finished
- bne.s find_maxmin
-
- move.l #0,calc
-
- rts
-
- Blit_Wait Btst #14,$dff002
- bne.s Blit_Wait
- Rts
-
- Colour: lea colourtable,a0
- add.w colourptr,a0
- cmp.w #$8888,(a0)
- bne colour1
- clr.W colourptr
- bra.s colour
- colour1: move.w (a0),colours1+2
- Move.w (a0),colours2+2
- add.w #2,colourptr
- rts
-
- Cycle: jsr Blit_Wait
- move.l #colours+4,$dff050 ;a source IM
- move.l #colours,$dff054 ;d source
- move.w #$0000,$dff064 ;a mod
- move.w #$0000,$dff066 ;d mod
- move.w #$ffff,$dff044 ;fw mask
- move.w #$ffff,$dff046 ;lw mask
- move.w #%0000100111110000,$dff040 ;con0
- move.w #%0000000000000000,$dff042 ;con1
- move.w #2*64+56,$dff058 ;size
- jsr Blit_Wait
- move.l #colours3,$dff050 ;a source IM
- move.l #colours3+4,$dff054 ;d source
- move.w #$0000,$dff064 ;a mod
- move.w #$0000,$dff066 ;d mod
- move.w #$ffff,$dff044 ;fw mask
- move.w #$ffff,$dff046 ;lw mask
- move.w #%0000100111110000,$dff040 ;con0
- move.w #%0000000000000010,$dff042 ;con1
- move.w #2*64+57,$dff058 ;size
- jsr Blit_Wait
- JSR STAR_MOVE
- rts
-
- colourptr: dc.w $0
-
- waveplace2: lea wavy,a0
- add.w waveptr2,a0
- cmp.w #$8888,(a0)
- bne wcolour12
- clr.W waveptr2
- bra.s waveplace2
- wcolour12: move.w (a0),wave1+6
- add.w #2,waveptr2
- rts
-
- wavecycle: lea wave+6,a0
- move.w #89,d0
- wavecycle1: move.w 8(a0),(a0)
- add.w #8,a0
- dbf d0,wavecycle1
- rts
-
- waveptr2: dc.w $0
-
-
- ****************************************
- * Multi-purpose Stafield Creator *
- * *
- * Written by Andy Clark *
- * *
- * 3rd August 1990 *
- * *
- * Strictly for use by anyone *
- ****************************************
-
- ****************************************
- * Use the four equates for fx *
- ****************************************
-
- star_top equ $4c ;first line
- star_height equ 90 ;number of lines
- density equ 1 ;density of stars (0-3)
- direction equ 0 ;0-right 1-left
-
- ****************************************
- * Use the four equates for fx *
- ****************************************
-
- ** Call this once to set up stars
- ** Attention: You must have sp0-2 defined on copper list
-
- Stars_on:
- lea den,a0
- move.l #density,d0
- move.b (a0,d0),dens+3
-
- lea st0,a0
- move.l #star0,d0
- move.l sth0,d1
- jsr setstars
- lea st1,a0
- move.l #star1,d0
- move.l sth1,d1
- jsr setstars
- lea st2,a0
- move.l sth2,d1
- move.l #star2,d0
- jsr setstars
-
- move.l #st0,d0
- move.w d0,sp0+6
- swap d0
- move.w d0,sp0+2
-
- move.l #st1,d0
- move.w d0,sp1+6
- swap d0
- move.w d0,sp1+2
-
- move.l #st2,d0
- move.w d0,sp2+6
- swap d0
- move.w d0,sp2+2
- rts
-
- Setstars:
- move.b #0,msb
- move.b #star_top,stary
- move.l d0,stardat
- move.l d1,starh
- move.l #0,starcnt
-
- .lp2: jsr random
- and.l dens,d1
- add.b d1,stary ;updt stary position
- bcc .lp3 ;over gmt?
- move.b #1,msb
- .lp3: add.l d1,starcnt ;inc count
- move.l #star_height,d0
- cmp.l starcnt,d0
- blt .lp ;reached end
- move.b stary,(a0) ;set ystart
- bclr.b #2,3(a0)
- tst.b msb ;check over
- beq .lp5
- bset.b #2,3(a0)
- .lp5: move.b stary,2(a0)
- move.b starh+3,d1
- add.b d1,2(a0) ;set ystop
- bcc .lp4
- move.b #1,msb
- .lp4: bclr.b #1,3(a0)
- tst.b msb ;check over
- beq .lp6
- bset.b #1,3(a0)
- .lp6: jsr random
- move.b d1,1(a0) ;set xpos
- add.b #1,stary ;updt for next y position
- move.b starh+3,d1
- add.b d1,stary
- add.l #4,a0 ;point to data
- move.l stardat,a1
- move.l starh,d1
- subq.l #1,d1
- .lp7: move.l (a1)+,(a0)+ ;put data into display
- dbra d1,.lp7
- add.l #1,starcnt ;in count
- move.l starh,d1
- add.l d1,starcnt
- move.l #star_height,d0
- cmp.l starcnt,d0
- blt .lp ;reached end
- bra .lp2 ;get next star
- .lp: move.l #0,(a0)
- rts
-
- ** Call this every frame
-
- Star_move:
- lea st0,a0
- move.l #3,d0 ;speed
- move.l sth0,d2
- asl.l #2,d2
- add.l #4,d2
- jsr stmov
- lea st1,a0
- move.l #2,d0 ;speed
- move.l sth1,d2
- asl.l #2,d2
- add.l #4,d2
- jsr stmov
- lea st2,a0
- move.l #1,d0 ;speed
- move.l sth2,d2
- asl.l #2,d2
- add.l #4,d2
- jsr stmov
- rts
- stmov: move.l #direction,d1
- beq .lp
- neg.l d0
- .lp add.b d0,1(a0)
- add.l d2,a0
- tst.l (a0)
- bne .lp
- rts
-
- random moveq.l #0,d1
- lea $fc0000,a6
- move.l framecount,d5
- move.b (a6,d5),d1
- and.l #$07,d5
- lea rseed,a6
- move.b (a6,d5),d5
- eor.b d5,d1
- add.l d1,framecount
- cmp.l #2000,framecount
- blt noz2
- move.l #0,framecount
- and.l #7,d5
- move.b d1,(a6,d5)
- eor.l d1,framecount
- noz2 rts
-
- ****************************************
- * Bottom of Starfield Routine *
- ****************************************
-
- scroll: move.l #$DFF000,A6
- MOVE.L #SCREEN,d0
- move.l d0,d1
- addq.l #2,d1 ; a2 points to next word
- move.l d1,$50(a6) ; srce
- move.l d0,$54(a6) ; Dest
- clr.w $064(A6) ; No modulos
- clr.w $066(A6)
- move.l #-1,$044(A6) ; Set all masks on
- clr.w $042(A6) ; BLTCON1 = Blitter control reg.1
- MOVE.W #%1101100111110000,$040(a6)
- move.w #16*64+22,$058(a6)
- subq.b #1,charcount
- bne.s nocharyet
- move.b #5,charcount
- move.l textptr,a0
- moveq #0,d0
- move.b (a0)+,d0
- cmpi.b #0,(a0)
- bne.s nottextend
- move.l #texttab,a0
-
- nottextend:
- move.l a0,textptr
- bsr.s putletter
-
- nocharyet:
- rts
-
-
- putletter:
- lea fontmap,a0
- subi.b #32,d0
-
- rndagain:
- cmpi.b #20,d0
- blt.s okputchar
- adda.l #40*16,a0 ; Size of 1 line of chs
- subi.b #20,d0
- bra.s rndagain
-
- okputchar:
- rol.b #1,d0
- andi.b #$fe,d0
- add.l a0,d0
- move.l #$DFF000,A6
- move.l #SCREEN,d1
- subi.l #2,d1
- move.l d0,$50(a6)
- move.l d1,$54(A6)
- MOVE.W #38,$064(A6)
- MOVE.W #wide,$066(A6)
- move.l #-1,$044(A6) ; Set all masks on
- clr.w $042(A6) ; BLTCON1 = Blitter control reg.1
- MOVE.W #%0000100111110000,$040(a6)
- move.w #64*16+1,$058(a6)
- RTS
-
- bounce:
- move.l getto,a4
- move.w (a4)+,shat
- addi.b #1,poo
- cmpi.b #24,poo ;number in table
- beq lop
- move.l a4,getto
- jmp cak
- lop:
- move.b #0,poo
- move.l #grumpy,getto
- cak:
- rts
-
- SINSCROLL:LEA DIFFERENCE,A0 ; VISIBLE BIT PLANE
-
- BLITREADY:BTST #14,$DFF002 ; CHECK FOR BUSY BLITTER
- BNE.S BLITREADY ; WAIT TILL BLITTER READY
-
- MOVE.L A0,$DFF054 ; SOURCE ADDRESS
- MOVE.L A0,$DFF050 ; DESTINATION ADDRESS
- CLR.L $DFF044 ; NO FWM/LWM (SEE HARDWARE MANUAL)
- CLR.L $DFF064 ; NO MODULO (SEE HARDWARE MANUAL)
- MOVE.W #%100000000,$DFF040 ; ENABLE DMA CHANNEL D, NOTHING ELSE, NO MINTERMS ACTIVE.
- CLR.W $DFF042 ; NOTHING SET IN BLTCON1
- MOVE.W #(60*64)+(wide/2)+1,$DFF058 ; WINDOW SIzE = 21 WORDS WIDE 60 LINES DEEP
-
- MOVE.L SINPT,A3
- SUBQ.L #1,A3
- MOVE.B (A3),D0
- CMP.B #255,D0
- BNE.S NOTENDOFSINE
-
- LEA SINTABEND,A3
- NOTENDOFSINE:MOVE.L A3,SINPT
- MOVEQ #(wide/2)-2,D0 ; no of chrs to scroll
- LEA SCROLLPLANE,A0
- LEA DIFFERENCE,A1
-
- SLOOP3: BSR GETSINVAL
- BLITREADY2:BTST #14,$DFF002
- BNE.S BLITREADY2
- MOVE.L A0,$DFF050
- MOVE.L A2,$DFF054
- MOVE.L #$F000F000,$DFF044
- MOVE.W #40,$DFF064
- MOVE.W #wide,$DFF066
- MOVE.W #%0000100111110000,$DFF040
- CLR.W $DFF042
- MOVE.W #(32*64)+1,$DFF058
- BSR GETSINVAL
- zONK2: BTST #14,$DFF002
- BNE.S zONK2
- MOVE.L A0,$DFF050
- MOVE.L A2,$DFF054
- MOVE.L A2,$DFF04C
- MOVE.L #$F000F00,$DFF044
- MOVE.W #40,$DFF064
- MOVE.W #wide,$DFF066
- MOVE.W #wide,$DFF062
- MOVE.W #%0000110111111100,$DFF040
- CLR.W $DFF042
- MOVE.W #(32*64)+1,$DFF058
- BSR GETSINVAL
- zONK3: BTST #14,$DFF002
- BNE.S zONK3
- MOVE.L A0,$DFF050
- MOVE.L A2,$DFF054
- MOVE.L A2,$DFF04C
- MOVE.L #$F000F0,$DFF044
- MOVE.W #40,$DFF064
- MOVE.W #wide,$DFF066
- MOVE.W #wide,$DFF062
- MOVE.W #%0000110111111100,$DFF040
- CLR.W $DFF042
- MOVE.W #(32*64)+1,$DFF058
- BSR GETSINVAL
- zONK4: BTST #14,$DFF002
- BNE.S zONK4
- MOVE.L A0,$DFF050
- MOVE.L A2,$DFF054
- MOVE.L A2,$DFF04C
- MOVE.L #$F000F,$DFF044
- MOVE.W #40,$DFF064
- MOVE.W #wide,$DFF066
- MOVE.W #wide,$DFF062
- MOVE.W #%0000110111111100,$DFF040
- CLR.W $DFF042
- MOVE.W #(32*64)+1,$DFF058
- ADDQ.L #2,A0
- LOAD ADDQ.L #2,A1
- DBRA D0,SLOOP3
- RTS
-
- GETSINVAL:MOVEQ #0,D1
- MOVE.B (A3)+,D1
- MOVE.B (A3),D2
- CMP.B #255,D2
- BNE OKYAR
- MOVE.L #SINTAB,A3
- OKYAR: LSR.B #1,D1
- BCLR #0,D1
- MULU #(wide/2)+1,D1 ; width of one line (sine scroll)
- MOVE.L A1,A2
- ADD.L D1,A2
- RTS
-
- SCROLLY:MOVE.B PAUSE,D0
- CMP.B #0,D0
- BEQ GOPAST
- SUB.B #1,D0
- MOVE.B D0,PAUSE
- BRA GOPAST2
- GOPAST: MOVE.L #SCROLLPLANE,A0
- MOVE.L #SCROLLPLANE+2,A1
- BLITREADY3:BTST #14,$DFF002
- BNE.S BLITREADY3
-
- MOVE.L A0,$DFF054
- MOVE.L A1,$DFF050
- MOVE.L #-1,$DFF044
- CLR.L $DFF064
- MOVE.W #%1100100111110000,$DFF040
- CLR.W $DFF042
- MOVE.W #(40*64)+20,$DFF058 ; **********************
- GOPAST2:BSR SINSCROLL
- MOVE.B PAUSE,D0
- CMP.B #0,D0
- BNE IUO
- MOVE.B COUNTDOWN,D0
- SUB.B #1,D0
- CMP.B #0,D0
- BEQ MFC
- MOVE.B D0,COUNTDOWN
- IUO: RTS
- MFC: MOVE.B #4,COUNTDOWN
-
- ;CLR.W SCROLLPLANE+40 ; ???
- ;CLR.W SCROLLPLANE+82 ; ???
-
- MOVE.L #SCROLLPLANE+(4*wide)+34,A1
-
- BSR CHARADDRESS
-
- MOVEQ #15,D0
- zONKIN: MOVE.W (A0),(A1)
- LEA 40(A0),A0
- LEA 42(A1),A1
- DBF D0,zONKIN
- RTS
-
- CHARADDRESS:
- MOVE.L MESPTR,A0
- MOVEQ #0,D0
- MOVE.L D0,D1
- MOVE.L D0,D2
- MOVE.B (A0)+,D0
- CMP.B #$0A,D0
- BNE WIzY
- MOVE.B #32,D0
- WIzY: CMP.B #255,D0
- BNE WAzY
- MOVE.L #MESSAGE,A0
- MOVE.B #32,D0
- WAzY: CMP.B #254,D0
- BNE WOzY
- MOVE.B #32,D0
- MOVE.B #$60,PAUSE
- WOzY: MOVE.L A0,MESPTR
- SUB.B #32,D0
- MOVEQ #0,D1
- DIVU #20,D0 ; 20 CHARS ON EACH LINE
- MOVE.B D0,D1
- CLR.W D0
- SWAP D0
- MOVE.L #FONTMAP,A0
- MULU #640,D1
- ADD.L D0,D0
- ADD.L D0,A0
- ADD.L D1,A0
- RTS
-
- show_equals:
-
- lea myequalmem,a0
-
- bsr blitting
- Move.l a0,$dff054 ; dest mem d
- Move.l #0,$dff044 ; blit first word mask source a
- move.w #(%0001*256)+0,$dff040
- move.w #0,$dff042 ; blit cont reg 1
- Move.w #0,$dff066 ; modulo for dest
- Move.w #(65*64)+20,$dff058 ; blit height,width
-
- lea myequalmem+(50*wide),a0
- lea equals,a1
- lea fades,a4
- lea equalsource,a2
- move.l #0,d2
- show_equal_loop1:
- bsr blitting
-
- move.l a0,d0
- and.l #$fffffffe,d0
- move.l d0,a3
-
- move.l a0,d5
- and.l #1,d5
- eor.l #1,d5
- asl.l #2,d5
-
- Move.l a3,$dff054 ; dest mem d
- Move.l a3,$dff048 ; source mem c
- Move.l a2,$dff050 ; source mem a
-
- Move.w #$ffff,$dff044 ; blit first word mask source a
- move.w #$ffff,$dff046 ; blit last word mask source a
- move.w #-2,$dff064 ; modulo for source a
- Move.w #42,$dff066 ; modulo for dest d
- Move.w #42,$dff060 ; modulo for source c
-
- mulu #8192,d5
- or.w #(%1011*256)+$fa,d5
- move.w d5,$dff040 ; blitcon 0
- move.w #%10,$dff042 ; blitcon 1
-
- clr.l d1
- move.b (a1,d2),d1
- cmp.b #0,d1
- beq.s no_equal_here
- move.b (a4,d2),d7
- add.b d7,(a1,d2)
- bpl.s equal_zero
- move.b #0,(a1,d2)
- equal_zero:
- asl.l #6,d1
- or.l #1,d1
- Move.w d1,$dff058 ; blit height,width
- no_equal_here:
- add.l #1,a0
-
- add.l #1,d2
- cmp.l #40,d2
- blt show_equal_loop1
-
- rts
-
-
- print_num:
- movem.l d0-d7/a0-a6,-(sp)
-
- cmp.l #-1,calc
- bne.s normal_num
-
- clr.l d0
- move.w (a6),d0
-
- cmp.w #0,d0
- beq.s skip_num
-
- cmp.l maxequal,d0
- blt.s not_max
- move.l d0,maxequal
- not_max:
- cmp.l minequal,d0
- bgt.s not_min
-
- move.l d0,minequal
- not_min:
-
- move.l maxequal,d0
- move.l minequal,d1
-
- sub.l d1,d0
- divu #divider,d0 ; divider - range of equalisers to play
-
- move.w d0,divequal
- skip_num
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- normal_num:
- clr.l d0
- move.w (a6),d0
-
- sub.l minequal,d0 ; no notes less than 100!
- move.w divequal,d1
- divu divequal,d0 ; smooth note - ie 20 equalisers
- cmp.w #37,d0
- blt.s equ_too_big
-
- move.w #37,d0
-
- equ_too_big:
- cmp.w #2,d0
- bgt.s equ_too_small
-
- move.w #1,d0
-
- equ_too_small:
-
- lea equals,a0
- add d0,a0
- cmp.b #20,0(a0)
- blt.s equ_skip1
- move.b #30,0(a0)
- equ_skip1:
- add.b #20,0(a0)
-
- cmp.b #30,+1(a0)
- blt.s equ_skip2
- move.b #30,+1(a0)
- equ_skip2:
- add.b #10,+1(a0)
-
- cmp.b #30,-1(a0)
- blt.s equ_skip3
- move.b #30,-1(a0)
- equ_skip3:
- add.b #10,-1(a0)
-
- lea fades,a0
- add d0,a0
- move.b #-1,0(a0)
- move.b #-1,-1(a0)
- move.b #-1,+1(a0)
-
- clr.l d0
-
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- blitting:
- btst #6,$dff002
- bne.s blitting
-
- rts
-
-
-
- Mt_Init:Lea Mt_Data,a0
- Move.l a0,a1
- Add.l #$3b8,a1
- Moveq #$7f,d0
- Moveq #0,d1
- Mt_Loop Move.l d1,d2
- Subq.w #1,d0
- Mt_Lop2 Move.b (a1)+,d1
- Cmp.b d2,d1
- Bgt.s Mt_Loop
- Dbf d0,Mt_Lop2
- Addq.b #1,d2
-
- Lea Mt_SampleStarts,a1
- Asl.l #8,d2
- Asl.l #2,d2
- Add.l #$43c,d2
- Add.l a0,d2
- Move.l d2,a2
- Moveq #$1e,d0
- Mt_Lop3 Move.l #0,(a2)
- Move.l a2,(a1)+
- Moveq #0,d1
- Move.w 42(a0),d1
- Asl.l #1,d1
- Add.l d1,a2
- Add.l #$1e,a0
- Dbf d0,Mt_Lop3
-
- Or.b #$2,$bfe001
- Move.b #$6,Mt_Speed
- Move.b #$3f,Mt_Voice1+$12
- Move.b #$3f,Mt_Voice2+$12
- Move.b #$3f,Mt_Voice3+$12
- Move.b #$3f,Mt_Voice4+$12
-
- Move.w #0,$dff0a8
- Move.w #0,$dff0b8
- Move.w #0,$dff0c8
- Move.w #0,$dff0d8
- Clr.b Mt_SongPos
- Clr.b Mt_Counter
- Clr.w Mt_PattPos
- Rts
-
- Mt_End Move.w #0,$dff0a8
- Move.w #0,$dff0b8
- Move.w #0,$dff0c8
- Move.w #0,$dff0d8
- Move.w #$f,$dff096
- Moveq.l #0,d0
- Rts
-
- Mt_Music
- Movem.l d0-d4/a0-a3/a5-a6,-(a7)
- Lea Mt_Data,a0
- Addq.b #$1,Mt_Counter
- Move.b Mt_Counter,d0
-
- cmp.l #-1,calc
- beq.s mt_playit
-
-
- cmp.b Mt_speed,d0
- Blt.s Mt_NoNew
- mt_playit
- Clr.b Mt_Counter
- Bra Mt_GetNew
- Mt_NoNew
-
- Lea Mt_Voice1,a6
- Lea $dff0a0,a5
- Bsr Mt_CheckCom
- Lea Mt_Voice2,a6
- Lea $dff0b0,a5
- Bsr Mt_CheckCom
- Lea Mt_Voice3,a6
- Lea $dff0c0,a5
- Bsr Mt_CheckCom
- Lea Mt_Voice4,a6
- Lea $dff0d0,a5
- Bsr Mt_CheckCom
- Bra Mt_Endr
-
- Mt_Arpeggio
- Moveq.l #0,d0
- Move.b Mt_Counter,d0
- Divs #$3,d0
- Swap d0
- Cmp.w #$0,d0
- Beq.s Mt_Arp2
- Cmp.w #$2,d0
- Beq.s Mt_Arp1
- Moveq.l #0,d0
- Move.b $3(a6),d0
- Lsr.b #4,d0
- Bra.s Mt_Arp3
-
- Mt_Arp1 Moveq.l #0,d0
- Move.b $3(a6),d0
- And.b #$f,d0
- Bra.s Mt_Arp3
- Mt_Arp2 Move.w $10(a6),d2
- Bra.s Mt_Arp4
- Mt_Arp3 Asl.w #1,d0
- Moveq.l #0,d1
- Move.w $10(a6),d1
- Lea Mt_Periods,a0
- Moveq #$24,d7
- Mt_ArpLoop
- Move.w (a0,d0.w),d2
- Cmp.w (a0),d1
- Bge.s Mt_Arp4
- Addq.l #2,a0
- Dbf d7,Mt_ArpLoop
- Rts
- Mt_Arp4 Move.w d2,$6(a5)
- Rts
-
- Mt_GetNew
- Lea Mt_Data,a0
- Move.l a0,a3
- Move.l a0,a2
- Add.l #$c,a3
- Add.l #$3b8,a2
- Add.l #$43c,a0
-
- Moveq.l #0,d0
- Move.l d0,d1
- Move.b Mt_SongPos,d0
-
-
- Move.b (a2,d0.w),d1
- Asl.l #8,d1
- Asl.l #2,d1
- Add.w Mt_PattPos,d1
- Clr.w Mt_DmaCon
- Lea $dff0a0,a5
- Lea Mt_Voice1,a6
- Move.l #Mt_Instrument+0,a4
- Bsr.s Mt_PlayVoice
- Lea $dff0b0,a5
- Lea Mt_voice2,a6
- Move.l #Mt_Instrument+4,a4
- Bsr.s Mt_PlayVoice
- Lea $dff0c0,a5
- Lea Mt_Voice3,a6
- Move.l #Mt_Instrument+8,a4
- Bsr.s Mt_PlayVoice
- Lea $dff0d0,a5
- Lea Mt_Voice4,a6
- Move.l #Mt_Instrument+12,a4
- Bsr.s Mt_PlayVoice
- Bra Mt_SetDma
-
- Mt_PlayVoice
- Move.l (a0,d1.l),(a6)
- Addq.l #4,d1
- Moveq.l #0,d2
- Move.b $2(a6),d2
- And.b #$f0,d2
- Lsr.b #4,d2
- Move.b (a6),d0
- And.b #$f0,d0
- Or.b d0,d2
-
- cmp.l #-1,calc
- beq.s mt_playnote
-
- Tst.b d2
- Beq Mt_SetRegs
-
- mt_playnote
- Moveq #0,d3
-
- bsr print_num ; (a6) = note played
-
- Lea Mt_SampleStarts,a1
- Move.l d2,d4
- Subq.l #$1,d2
- Asl.l #2,d2
-
- Move.l d2,(a4)
-
- Mulu #$1e,d4
- Move.l (a1,d2.l),$4(a6)
- Move.w (a3,d4.l),$8(a6)
- Move.w $2(a3,d4.l),$12(a6)
- Move.w $4(a3,d4.l),d3
- Tst.w d3
- Beq.s Mt_NoLoop
-
- cmp.l #-1,calc
- beq.s mt_setregs
-
- Move.l $4(a6),d2
- Asl.w #1,d3
- Add.l d3,d2
- Move.l d2,$a(a6)
- Move.w $4(a3,d4.l),d0
- Add.w $6(a3,d4.l),d0
- Move.w d0,8(a6)
- Move.w $6(a3,d4.l),$e(a6)
- Move.w $12(a6),$8(a5)
- Bra.w Mt_SetRegs
- Mt_NoLoop
-
- cmp.l #-1,calc
- beq.s mt_setregs
-
- Move.l $4(a6),d2
- Add.l d3,d2
- Move.l d2,$a(a6)
- Move.w $6(a3,d4.l),$e(a6)
- Move.w $12(a6),$8(a5)
-
- Mt_SetRegs
- Move.w (a6),d0
- And.w #$fff,d0
- Beq Mt_CheckCom2
- Move.b $2(a6),d0
- And.b #$F,d0
- Cmp.b #$3,d0
- Bne.s Mt_SetPeriod
- Bsr Mt_SetMyPort
- Bra Mt_checkcom2
- Mt_SetPeriod
- Move.w (a6),$10(a6)
- And.w #$fff,$10(a6)
- Move.w $14(a6),d0
- Move.w d0,$dff096
- Move.b #0,$1b(a6)
-
- cmp.l #-1,calc
- beq mt_checkcom
-
- Move.l $4(a6),(a5)
- Move.w $8(a6),$4(a5)
- Move.w $10(a6),d0
- And.w #$fff,d0
- Move.w d0,$6(a5)
- Move.w $14(a6),d0
- Or.w d0,Mt_DmaCon
- Bra Mt_CheckCom2
-
- Mt_SetDma
-
- cmp.l #-1,calc
- beq mt_wai3
-
- Move.w #$12c,d0
- Mt_Wait Dbf d0,Mt_Wait
- Move.w Mt_DmaCon,d0
- Or.w #$8000,d0
- Move.w d0,$dff096
- Move.w #$12c,d0
-
- cmp.l #-1,calc
- beq mt_wai3
-
- Mt_Wai2 Dbf d0,Mt_Wai2
- Lea $dff000,a5
- Lea Mt_Voice4,a6
- Move.l $a(a6),$d0(a5)
- Move.w $e(a6),$d4(a5)
- Lea Mt_Voice3,a6
- Move.l $a(a6),$c0(a5)
- Move.w $e(a6),$c4(a5)
- Lea Mt_voice2,a6
- Move.l $a(a6),$b0(a5)
- Move.w $e(a6),$b4(a5)
- Lea Mt_voice1,a6
- Move.l $a(a6),$a0(a5)
- Move.w $e(a6),$a4(a5)
-
- mt_wai3:
-
- Add.w #$10,Mt_PattPos
- Cmp.w #$400,Mt_PattPos
- Bne.s Mt_Endr
- Mt_Nex Clr.w Mt_PattPos
- Clr.b Mt_Break
- Addq.b #1,Mt_SongPos
- And.b #$7f,Mt_SongPos
- Move.b Mt_SongPos,d1
- Cmp.b Mt_Data+$3b6,d1
- Bne.s Mt_Endr
-
- move.l #-1,finished
- Clr.b Mt_SongPos ; module end!
-
- Mt_Endr Tst.b Mt_Break
- Bne.s Mt_Nex
- Movem.l (a7)+,d0-d4/a0-a3/a5-a6
- Rts
-
- Mt_SetMyPort
- Move.w (a6),d2
- And.w #$fff,d2
- Move.w d2,$18(a6)
- Move.w $10(a6),d0
- Move.b #0,$16(a6)
- Cmp.w d0,d2
- Beq.s Mt_ClrPort
- Bge.s Mt_Rt
- Move.b #$1,$16(a6)
- Rts
- Mt_ClrPort
- Move.w #0,$18(a6)
- Mt_Rt Rts
-
- Mt_MyPort
- Move.b $3(a6),d0
- Beq.s Mt_MySlide
- Move.b d0,$17(a6)
- Move.b #0,$3(a6)
- Mt_MySlide
- Tst.w $18(a6)
- Beq.s Mt_Rt
- Moveq.l #0,d0
- Move.b $17(a6),d0
- Tst.b $16(a6)
- Bne.s Mt_MySub
- Add.w d0,$10(a6)
- Move.w $18(a6),d0
- Cmp.w $10(a6),d0
- Bgt.s Mt_MyOK
- Move.w $18(a6),$10(a6)
- Move.w #0,$18(a6)
- Mt_MyOK Move.w $10(a6),$6(a5)
- Rts
- Mt_MySub
- Sub.w d0,$10(a6)
- Move.w $18(a6),d0
- Cmp.w $10(a6),d0
- Blt.s Mt_MyOK
- Move.w $18(a6),$10(a6)
- Move.w #0,$18(a6)
- Move.w $10(a6),$6(a5)
- Rts
-
- Mt_Vib
- Move.b $3(a6),d0
- Beq.s Mt_Vi
- Move.b d0,$1a(a6)
-
- Mt_Vi Move.b $1b(a6),d0
- Lea Mt_Sin,a4
- Lsr.w #$2,d0
- And.w #$1f,d0
- Moveq.l #0,d2
- Move.b (a4,d0.w),d2
- Move.b $1a(a6),d0
- And.w #$f,d0
- Mulu d0,d2
- Lsr.w #$6,d2
- Move.w $10(a6),d0
- Tst.b $1b(a6)
- Bmi.s Mt_VibMin
- Add.w d2,d0
- Bra.s Mt_Vib2
- Mt_VibMin
- Sub.w d2,d0
- Mt_Vib2 Move.w d0,$6(a5)
- Move.b $1a(a6),d0
- Lsr.w #$2,d0
- And.w #$3c,d0
- Add.b d0,$1b(a6)
- Rts
-
- Mt_Nop Move.w $10(a6),$6(a5)
- Rts
-
- Mt_CheckCom
- cmp.l #-1,calc
- bne.s mt_checkedcom
- move.w finding,unpackcolour
- eor.w #$f0f,finding
- mt_checkedcom:
- Move.w $2(a6),d0
- And.w #$fff,d0
- Beq.s Mt_Nop
- Move.b $2(a6),d0
- And.b #$f,d0
- Tst.b d0
- Beq Mt_Arpeggio
- Cmp.b #$1,d0
- Beq.s Mt_PortUp
- Cmp.b #$2,d0
- Beq Mt_PortDown
- Cmp.b #$3,d0
- Beq Mt_MyPort
- Cmp.b #$4,d0
- Beq Mt_Vib
- Move.w $10(a6),$6(a5)
- Cmp.b #$a,d0
- Beq.s Mt_VolSlide
- Rts
-
- Mt_VolSlide
- Moveq #0,d0
- Move.b $3(a6),d0
- Lsr.b #4,d0
- Tst.b d0
- Beq.s Mt_VolDown
- Add.b d0,$13(a6)
- Cmp.b #$3f,$13(a6)
- Ble.s Mt_Vol2
- Move.b #$3f,$13(a6)
- Mt_Vol2 Move.w $12(a6),$8(a5)
- Rts
-
- Mt_VolDown
- Moveq #0,d0
- Move.b $3(a6),d0
- And.b #$f,d0
- Sub.b d0,$13(a6)
- Bpl.s Mt_Vol3
- Move.b #0,$13(a6)
- Mt_Vol3 Move.w $12(a6),$8(a5)
- Rts
-
- Mt_PortUp
- Moveq #0,d0
- Move.b $3(a6),d0
- Sub.w d0,$10(a6)
- Move.w $10(a6),d0
- And.w #$fff,d0
- Cmp.w #$71,d0
- Bpl.s Mt_Por2
- And.w #$f000,$10(a6)
- Or.w #$71,$10(a6)
- Mt_Por2 Move.w $10(a6),d0
- And.w #$fff,d0
- Move.w d0,$6(a5)
- Rts
-
- Mt_PortDown
- Moveq.w #0,d0
- Move.b $3(a6),d0
- Add.w d0,$10(a6)
- Move.w $10(a6),d0
- And.w #$fff,d0
- Cmp.w #$358,d0
- Bmi.s Mt_Por3
- And.w #$f000,$10(a6)
- Or.w #$358,$10(a6)
- Mt_Por3 Move.w $10(a6),d0
- And.w #$fff,d0
- Move.w d0,$6(a5)
- Rts
-
- Mt_CheckCom2
- Move.b $2(a6),d0
- And.b #$f,d0
- Cmp.b #$e,d0
- Beq.s Mt_SetFilt
- Cmp.b #$d,d0
- Beq.s Mt_PattBreak
- Cmp.b #$b,d0
- Beq.s Mt_PosJmp
- Cmp.b #$c,d0
- Beq.s Mt_SetVol
- Cmp.b #$f,d0
- Beq.s Mt_SetSpeed
- Rts
-
- Mt_SetFilt
- Move.b $3(a6),d0
- And.b #$1,d0
- Asl.b #$1,d0
- And.b #$fd,$bfe001
- Or.b d0,$bfe001
- Rts
- Mt_PattBreak ; ** HERE`S THE FIX - IT WAS
- Move.b #1,Mt_Break ; Not.b Mt_Break.
- Rts ; **************************
- Mt_PosJmp
- Move.b $3(a6),d0
- Subq.b #$1,d0
- Move.b d0,Mt_SongPos
- Not.b Mt_Break
- Rts
- Mt_SetVol
- Cmp.b #$3f,$3(a6)
- Ble.s Mt_Vol4
- Move.b #$3f,$3(a6)
- Mt_Vol4 Move.b $3(a6),$8(a5)
- Move.b $3(a6),$13(a6)
- Rts
- Mt_SetSpeed
- Move.b $3(a6),d0
- And.w #$1f,d0
- Beq.s Mt_Rts2
- Clr.b Mt_Counter
- Move.b d0,Mt_Speed
- Mt_Rts2 Rts
-
- section misc,data_c
-
-
-
-
- COPPER: DC.W $0104,$0000
- DC.W $0108,$0000
- dc.w $010A,$0000
-
- dc.w $0180,$0000
-
- dc.w $008e,$2c8c
- dc.w $0090,$2ce3
-
- DC.W $0092,$0030 ; screen left
- dc.w $0094,$00d8 ; screen right
-
-
- sp0: dc.w $0120,$0000,$0122,$0000
- sp1: dc.w $0124,$0000,$0126,$0000
- sp2: dc.w $0128,$0000,$012a,$0000
- sp3: dc.w $012c,$0000,$012e,$0000
- sp4: dc.w $0130,$0000,$0132,$0000
- sp5: dc.w $0134,$0000,$0136,$0000
- sp6: dc.w $0138,$0000,$013a,$0000
- sp7: dc.w $013c,$0000,$013e,$0000
-
- a set $180 ; ----------
- cols: rept 32
- dc.w a,0
- a set a+2
- endr
- dc.w $3101,$fffe
-
- a set $3101
- dc.w a,$fffe
-
- dc.w $100,$1200,$0108,$2
- plne1 dc.w $e0,0,$e2,0
- dc.w $182,$fff
-
- a set $4009
- dc.w a,$fffe
- colours:rept 56
- dc.w $180,0 ; ------------
- endr
- colours1:
- dc.w $0180,$0
- dc.w a+$100,$fffe,$0180,$0
- dc.w $5301,$fffe,$0100,$5200
-
- DC.W $0092,$0038 ; screen left
- dc.w $0094,$00D0 ; screen right
-
- bitmap dc.w $00e0,$0000,$00e2,$0000
- dc.w $00e4,$0000,$00e6,$0000
- dc.w $00e8,$0000,$00ea,$0000
- dc.w $00ec,$0000,$00ee,$0000
- dc.w $00f0,$0000,$00f2,$0000
- dc.w $108,0
- a set $5809
-
- wave: rept 90
- dc.w a,$fffe,$0102,$0000
- a set a+$100
- endr
-
- wave1: dc.w a,$fffe,$0102,$0000
- dc.w a+$100,$fffe,$0102,$0000
-
- dc.w a+$200,$fffe,$100,0
-
- colours2:rept 56
- dc.w $0180,$0
- a set a+4
- endr
- colours3:
- dc.w $0180,$2
- dc.w a+$100,$fffe,$0180,$0
-
- DC.W $0092,$0030 ; screen left
- dc.w $0094,$00d8 ; screen right
-
- a set $d001
- shat: dc.w $d001,$fffe
- dc.w $100,$1200,$0108,2
- plne dc.w $e0,0,$e2,0
- dc.w $182,$2Af
-
- a set a+$1000
- dc.w a,$fffe
-
- a set a+$100
- dc.w $108,-(wide*2)-2
- dc.w $182,$1AF
- a set a+$1000
- dc.w a,$fffe
- dc.w $100,0
-
- dc.w $008e,$2c7e
- dc.w $0090,$2cc1
-
- ;A SET A+$400
- DC.W A,$FFFE,$108,2
- DC.W $100,$2200
- dc.w $0182,$2FF
- dc.w $0184,$fff
- dc.w $0186,$2ff
-
- SCRL DC.W $E0,0,$E2,0
- bpequal dc.w $e4,0,$e6,0
-
- DC.W $FFE1,$FFFE,$2801,$FFFE,$100,0
- dc.w $108,-82,$182,$444
- DC.W $FFFF,$FFFE
- GFXNAME:DC.B "graphics.library",0
- even
- GFXLOC: DC.L 0
- OLDCOP: DC.L 0
- store: dc.l 0
-
- colourtable:
-
- dc.w $f00
- dc.w $f10,$f20,$f30,$f40,$f50,$f60,$f70,$f80,$f90,$fa0,$fb0,$fc0,$fd0,$fe0,$ff0
- dc.w $ef1,$df2,$cf3,$bf4,$af5,$9f6,$8f7,$7f8,$6f9,$5fa,$4fb,$3fc,$2fd,$1fe,$0ff
- dc.w $0ef,$0df,$0cf,$0bf,$0af,$09f,$08f,$07f,$06f,$05f,$04f,$03f,$02f,$01f,$00f
- dc.w $10e,$20d,$30c,$40b,$50a,$609,$708,$807,$906,$a05,$b04,$c03,$d02,$e01
-
- dc.w $8888
-
- wavy: dc.w $000,$000,$000,$000,$000
- dc.w $111,$111,$111,$111
- dc.w $222,$222,$222
- dc.w $333,$333
- dc.w $444,$555
- dc.w $666,$666
- dc.w $777,$777,$777
- dc.w $888,$888,$888,$888
- dc.w $999,$999,$999,$999,$999
- dc.w $888,$888,$888,$888
- dc.w $777,$777,$777
- dc.w $666,$666
- dc.w $555,$444
- dc.w $333,$333
- dc.w $222,$222,$222
- dc.w $111,$111,$111,$111
- dc.w $8888
-
-
-
- den: dc.b 3,7,15,31
-
- numst0: dc.w 0
- numst1: dc.w 0
- numst2: dc.w 0
-
- sth0: dc.l 7 ;height
- sth1: dc.l 5
- sth2: dc.l 3
-
- stary: dc.w 0 ;current y position
- stardat:dc.l 0 ;data for display
- starcnt:dc.l 0 ;number of lines used
- msb: dc.w 0 ;gmt check
- dens: dc.l 0 ;density store
- starh: dc.l 0 ;store height
-
- rseed dc.b $94,$2f,$c7,$ea,$93,$c5,$76,$89
- framecount:
- dc.l 0
-
- st0: ds.b 200*4
- st1: ds.b 200*4
- st2: ds.b 200*4
-
- star0: dc.w $3800,$3800
- dc.w $4400,$6400
- dc.w $A200,$D200
- dc.w $8200,$A600
- dc.w $8A00,$8600
- dc.w $4400,$5C00
- dc.w $3800,$3800
-
- star1: dc.w $7000,$7000
- dc.w $C800,$8800
- dc.w $8800,$9800
- dc.w $8800,$B800
- dc.w $7000,$7000
-
- star2: dc.w $C000,$4000
- dc.w $A000,$E000
- dc.w $4000,$4000
-
- bitmaparea: ds.l 1
- charcount: dc.b 16
- EVEN
- fontmap: incbin 16x16.raw_4
- textptr: dc.l texttab
- texttab:dc.b ' WELCOME TO SLIPSTREAM BBS INTRO'
- DC.B ' RING THE NEW SLIPSTREAM BBS ON ENGLAND'
- DC.B ' +44 0642 300501 THE ABSOLUTE ZERO '
- DC.B ' CREDITES FOR THIS INTRO '
- DC.B ' CODING BY POD WITH HELP FROM (FANGS) GRAPHICS BY ?????????'
- DC.B ' FONT TAKEN FROM DEFJAM INTRO MUSIC BY ???? OF ?????'
- DC.B ' IF YOU ARE WAITING FOR THE GREETINGS YOU ARE READING THE WRONG SCROLLER'
- DC.B ' IF YOU WANT TO CONTACT SLIPSTREAM THEN WRITE TO KID VIDEO AT 45 COCERIDER RD WAITHAMSTO LONDON E17 6QX OR'
- DC.B ' POD 69 WOODSEATS RD SHEFFIELD S8 OPH OR RING (0742) 554063 '
- DC.B 'ANY WAY SEE YOU LATER TEXT WARP '
- DC.B ' '
- DC.B 0
-
- SCREEN DCB.B $8c8,0
- logo: incbin logo.raw
-
- colos: dc.w $f00
- dc.w $f10,$f20,$f30,$f40,$f50,$f60,$f70,$f80
- dc.w $f90,$fa0,$fb0,$fc0,$fd0,$fe0,$ff0
- dc.w $ef0,$df0,$cf0,$bf0,$af0,$9f0,$8f0,$7f0
- dc.w $6f0,$5f0,$4f0,$3f0,$2f0,$1f0,$0f0
- dc.w $0f1,$0f2,$0f3,$0f4,$0f5,$0f6,$0f7,$0f8
- dc.w $0f9,$0fa,$0fb,$0fc,$0fd,$0fe,$0ff
- dc.w $0ef,$0df,$0cf,$0bf,$0af,$09f,$08f,$07f
- dc.w $06f,$05f,$04f,$03f,$02f,$01f,$00f
- dc.w $10f,$20f,$30f,$40f,$50f,$60f,$70f,$80f
- dc.w $90f,$a0f,$b0f,$c0f,$d0f,$e0f,$f0f
- dc.w $f0e,$f0d,$f0c,$f0b,$f0a,$f09,$f08,$f07
- dc.w $f06,$f05,$f04,$f03,$f02,$f01
- dc.w $f00
- dc.w $f10,$f20,$f30,$f40,$f50,$f60,$f70,$f80
- dc.w $f90,$fa0,$fb0,$fc0,$fd0,$fe0,$ff0
- dc.w $ef0,$df0,$cf0,$bf0,$af0,$9f0,$8f0,$7f0
- dc.w $6f0,$5f0,$4f0,$3f0,$2f0,$1f0,$0f0
- dc.w $0f1,$0f2,$0f3,$0f4,$0f5,$0f6,$0f7,$0f8
- dc.w $0f9,$0fa,$0fb,$0fc,$0fd,$0fe,$0ff
- dc.w $0ef,$0df,$0cf,$0bf,$0af,$09f,$08f,$07f
- dc.w $06f,$05f,$04f,$03f,$02f,$01f,$00f
- dc.w $10f,$20f,$30f,$40f,$50f,$60f,$70f,$80f
- dc.w $90f,$a0f,$b0f,$c0f,$d0f,$e0f,$f0f
- dc.w $f0e,$f0d,$f0c,$f0b,$f0a,$f09,$f08,$f07
- dc.w $f06,$f05,$f04,$f03,$f02,$f01
- dc.w $ffff
- getto: dc.l 0
- poo: dc.l 0
- gob: dc.l 0
-
- grumpy:
- dc.w $d001,$cc01,$c801,$c401,$c001,$bd01
- dc.w $ba01,$b701,$b501,$b301,$b201,$b101
- dc.w $b001,$b101,$b201,$b301,$b501,$b701
- dc.w $ba01,$bd01,$c001,$c401,$c801,$cc01
- dc.w $d001
-
- COUNTDOWN: DC.B 4,0
- SINPT: DC.L SINTABEND
- SINPT2: DC.L SINTAB2
- DC.B 255
- SINTAB: DC.B $3C,$3F,$42,$46,$49,$4C,$50,$53,$56,$59
- DC.B $5C,$5F,$61,$64,$67,$69,$6B,$6D,$6F,$71
- DC.B $72,$73,$75,$76,$76,$77,$77,$77,$77,$77
- DC.B $77,$76,$76,$75,$73,$72,$71,$6F,$6D,$6B
- DC.B $69,$67,$64,$61,$5F,$5C,$59,$56,$53,$50
- DC.B $4C,$49,$46,$42,$3F,$3C,$38,$35,$31,$2E
- DC.B $2B,$27,$24,$21,$1E,$1B,$18,$16,$13,$10
- DC.B $E,$C,$A,$8,$6,$5,$4,$2,$1,$1
- DC.B $0,$0,$0,$0,$0,$0,$1,$1,$2,$4
- DC.B $5,$6,$8,$A,$C,$E,$10,$13,$16,$18
- DC.B $1B,$1E,$21,$24,$27,$2B,$2E,$31,$35
- SINTABEND: DC.B $38,255
- SINTAB2:DC.B $2D,$31,$34,$38,$3B,$3E,$41,$45,$47,$4A,$4D,$4F,$51,$53,$55,$57
- DC.B $58,$59,$59,$5A,$5A,$5A,$59,$59,$58,$57,$55,$53,$51,$4F,$4D,$4A
- DC.B $47,$45,$41,$3E,$3B,$38,$34,$31,$2D,$29,$26,$22,$1F,$1C,$19,$15
- DC.B $13,$10,$D,$B,$9,$7,$5,$3,$2,$1,$1,$0,$0,$0,$1,$1,$2,$3,$5,$7,$9
- DC.B $B,$D,$10,$13,$15,$19,$1C,$1F,$22,$26,$29,$FF
- PAUSE: DC.B 0
- SINMODULO: DC.l 0
-
- MESPTR: DC.L MESSAGE
- difference dcb.B $4000,0
-
- SCROLLPLANE: Dcb.B $3200,0
-
- Mt_Sin
- Dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
- Dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18
-
- Mt_Periods
- Dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
- Dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
- Dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
- Dc.w $007f,$0078,$0071,$0000,$0000
-
- Mt_Speed Dc.b $6
- Mt_SongPos Dc.b $0
- Mt_PattPos Dc.w $0
- Mt_Counter Dc.b $0
-
- Mt_Break Dc.b $0
- Mt_DmaCon Dc.w $0
- Mt_SampleStarts Dcb.l $1f,0
-
- Mt_Voice1 Dcb.w 10,0
- Dc.w $1
- Dcb.w 3,0
- Dc.w 0 ;new note last time
- Mt_Voice2 Dcb.w 10,0
- Dc.w $2
- Dcb.w 3,0
- Dc.w 0 ;new note last time
- Mt_Voice3 Dcb.w 10,0
- Dc.w $4
- Dcb.w 3,0
- Dc.w 0 ;new note last time
- Mt_Voice4 Dcb.w 10,0
- Dc.w $8
- Dcb.w 3,0
- Dc.w 0 ;new note last time
- Mt_InstCount: dc.b 0
- Mt_Instrument: dcb.l 4,0
-
- wide equ 44
-
-
- newscr: dc.l 0
- flag: dc.l 0
- line: dc.l 0
- delay: dc.l 0
- delay2: dc.l 0
- delay3: dc.l 0
- x1: dc.l wide-4
- x2: dc.l 0
- page: dc.l 0
- waiting: dc.l 0
- height: dc.l 0
-
- scr1: dc.l 0
- scr2: dc.l 0
-
- blank: dcb.b 44*256*1,0
-
- calc: dc.l -1
- finished: dc.l 0
- finding: dc.l 0
-
- screen2: dc.l 0
-
- equals: dcb.b 60,0
- fades: dcb.b 60,-1
-
- maxequal: dc.l 0
- minequal: dc.l 0
- divequal: dc.l 0
-
- myequalmem: dcb.b wide*128*1,0
-
- ;*** BLOODY HELL THIS IS THE UNPACK COLOUR! ****
- ;** SET IT TO $DFF1FE FOR NO VISIBLE UNPACK! ****
- unpackcolour equ $dff180
-
- equalsource: dc.w %11111110
-
- mt_data:
- incbin "mod.loader" ; rem this line for no music
- ; it is ok to do so,
- ; the software will not crash!!
-
- dc.l $19cce7a2 ; no music id - leave me here!
-
- divider: equ 70 ; number to divide note range by (def = 40)
-
- MESSAGE: ;1234567890123456789012
-
- dc.b "---------------------------------"
-
- dc.b "HI THERE POD! ITS ALL WORKING NOW, TOOK ME AN HOUR, "
- dc.b "HOPE YOU LIKE IT!"
- dc.b " JUST GIVE ME SOME CREDIT FOR HELPING YOU OUT! "
- dc.b " ITS ALL ON HERE, CALLED POD.S (WEIRD HUH!) "
- dc.b "YO POD! PARASITE HERE, HOPE YOUR OK MATE,"
- dc.b " SEE YOU SOON, BYE! "
- dc.b ""
- dc.b ""
- dc.b ""
- dc.b ""
- dc.b ""
- dc.b ""
- dc.b " "
-
- dc.b "---------------------------------"
- DC.B '---SLIPSTREAM ARE---',254
- DC.B ' '
- DC.B ' KID VIDEO ',254
- DC.B ' POD ',254
- DC.B ' ANDI ',254
- DC.B ' DIGITS ',254
- DC.B ' KAPPA ',254
- DC.B ' DARKHO ',254
- DC.B ' DAMATT ',254
- DC.B ' AX ',254
- DC.B ' FANGS ',254
- DC.B ' BREN ',254
- dc.b ' MALLY ',254
- DC.B 'CALL THE ABSOLUTE ZERO ON'
- DC.B ' ENGLAND +44 0642 300501 RUNS UP TO 19200'
- DC.B ' ON LINE 24 HOURS A DAY GREETINGS GO TO '
- DC.B ' CRYSTAL SKID ROW QUARTEX MAG FIELDS'
- DC.B ' ANARCHY MAYHEM LSD THE MIGHTY DRUIDS '
- DC.B ' ARCHAOS THE STEALTH MODESTY SCOOTER'
- DC.B ' IPEC ELITE D-MOB DEFJAM ANTHROX ECSTASY'
- DC.B ' SORRY IF IVE MISSED YOU BUT IM SO PISSED OFF '
- DC.B 'ANY WAY SEE YOU POD OF SLIPSTREAM '
- DC.B ' WRAP '
- DC.B ' WRAP ',254
- DC.B 255
- EVEN
-
-
- end
-
-
-